-
requestEncoding
說明: 設定request所使用的encoding,類似java的request.setCharacterEncoding("")
屬性: value
<fmt:requestEncoding value="UTF-8" />
-
setLocale
說明:顯示所有地區的資料格式,要注意這裡盡量使用JSTL標籤
而不要使用EL運算式,因為JSTL會根據locale的不同自動調整資料格式,但EL不行
屬性:
- value:存放locale
- scope:宣告locale的作用域
- variant:client瀏覽器或作業系統的代號
-
timeZone
說明:設定時間的值(locale只是影響時間格式)
屬性:value設定Time zone
-
setTimeZone
說明:timeZone只對內部程式碼有效,setTimeZone是針對全域
屬性:除了value,還有var(儲存修改的時區)和scope(設定作用域)
-
bundle/message/param
說明:這三個標籤提供了多國語言的功能
藉由設定一個各國語言的設定檔(XXXX.properties)
屬性:
- bundle的basename設定了儲存檔案的名稱
- message 的key屬性對應了properties檔案資源的key屬性
此外var屬性若被宣告,message所傳回的資運就被儲存到var變數中而不寫到jsp
scope宣告var的作用域
bundle屬性用來宣告被綁定的資源,不能為字串,此屬性通常和setbundle一併使用
- param 的value屬性提供了傳入的參數
-
setBundle
bundle只對message有用,而setBundle則對所有的message有效
-
formatNumber
說明:可針對不同locale輸出的格式,顯示不同地區的資料格式
屬性:
- value:要被格式化的數字
- type : 宣告數字的類型,有number(數字)、currency(貨幣)以及percent(百分比)
- pattern : 數字格式,和javax.text.NumberFormat相同
- currencyCode : ISO 4217貨幣代碼,例如USD是美元,人民幣預設"CNY"
- currencySymbol : 要輸出的貨幣符號,美元預設為"$"
- groupingUsed : 是否顯示千分號,值為true或false
- maxIntergerDigits : 整數的最大值,超過則去掉最高位
- minIntergerDigits : 整數最小值,不夠則補零
- maxFractionDigits : 小數點最大值,超過則四捨五入
- minFractionDigits : 小數點的最小值,不夠則補零
- var : 儲存格式化後的數字
- scope : var的作用域
-
parseNumber
說明:和formatNumber相反,formatNumber是把數字轉字串
而paraseNumber是把字串轉為數字
屬性:
- value : 要解析的字串
- parseLocale : 要按照哪種locale解析
- type : 資料類型,用法同formatNumber
- pattem : 資料格式,用法同formatNumber
- var : 儲存輸出的數值
- scope : 宣告var的作用域
-
formatDate
說明:將日期轉換成字串格式,類似java的DataFormat類別的format方法
屬性:
- value : 要格式化的日期參數
- type : 指定value的類型,是要只要日期(date),還是要時間(time)或是全部(both)
- pattern : 日期的格式,如果沒有設定pattern就用預設Locale裡的default
如果使用pattern,則type屬性就會失效,pattern的格式為java.text.DateFormat支援的格式
- dateStyle : 日期的格式,其值可為short、medium、long和full。
- timeStyle : 時間格式,同dateStyle
- timeZone : 時間所在的時區
- var : 將格式化的內容輸出到var參數裡
- scope : 儲存var的作用域
-
parseDate
說明:和formatDate,是將字串轉為時間,相當於java的DateFormat的parse方法
屬性:同formatDate,但多了一個parseLocale,用來設定依照locale來處理